home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / DBASE_UT / TPDB335 / TPDBDEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1993-11-26  |  6KB  |  159 lines

  1. program TPDBDemo;
  2.  
  3.                            (***********************************)
  4.                            (*               TPDB              *)
  5.                            (***********************************)
  6.                            (*         Object -Oriented        *)
  7.                            (*    Borland/Turbo Pascal Units   *)
  8.                            (*    for Accessing dBASE III      *)
  9.                            (*             files.              *)
  10.                            (*      Copyright 1988 - 1993      *)
  11.                            (*          Brian Corll            *)
  12.                            (*       All Rights Reserved       *)
  13.                            (***********************************)
  14.                            (*            FREEWARE             *)
  15.                            (***********************************)
  16.                            (*     dBASE is a registered       *)
  17.                            (* trademark of Borland Int. Inc.  *)
  18.                            (*   Version 3.35  November, 1993  *)
  19.                            (***********************************)
  20.                            (*   Portions Copyright 1984,1991  *)
  21.                            (*    Borland International Corp.  *)
  22.                            (***********************************)
  23.  
  24.  
  25. {Field  Field Name  Type       Width    Dec
  26.      1  CUSTNO      Character      5
  27.      2  FIRSTNAME   Character     20
  28.      3  MI          Character      1
  29.      4  LASTNAME    Character     25
  30.      5  ADDRESS     Character     35
  31.      6  CITY        Character     35
  32.      7  STATE       Character      2
  33.      8  ZIP         Character      5
  34.      9  ORDERNO     Character      9
  35.     10  ITEM        Character     20
  36.     11  COST        Numeric        8      2
  37.     12  SALEPRICE   Numeric        8      2
  38.     13  PROFIT      Numeric        8      2
  39.     14  SALEDATE    Date           8
  40.     15  COMPLETED   Logical        1
  41.  ** Total **                     191}
  42.  
  43. {Demonstration of the capabilities of TPDB  Version 3.34}
  44.  
  45. uses
  46.     Crt, Dos, TPDB, TPDBDate, TPDBScrn, TPDBStr;
  47.  
  48. const
  49.     NameNdx: byte = 1;
  50.     CustNoNdx: byte = 2;
  51.  
  52.  
  53. var
  54.     J: longint;
  55.     SPos: byte;
  56.     Message: string [80];
  57.     RecNo: string;
  58.     Continue: byte;
  59.     Demo:^DBF;
  60.     Test: ScrPtr;
  61.     Ch: char;
  62.  
  63.  
  64. begin
  65.     SetDateFormat(Italian);
  66.     New(Demo, Init('tpdbdemo.dbf'));
  67.     Demo^.Zap;
  68.     Demo^.MakeDBIndex(NameNdx, 'name.ndx', 25, Duplicates);
  69.     Demo^.MakeDBIndex(CustNoNdx, 'custno.ndx', 5, NoDuplicates);
  70.     Demo^.OpenDBIndex(NameNdx, 'name.ndx', 25, Duplicates);
  71.     Demo^.OpenDBIndex(CustNoNdx, 'custno.ndx', 5, NoDuplicates);
  72.  
  73.  
  74.     repeat
  75.         Continue := 0;
  76.         Demo^.NewDBRec;
  77.         Demo^.Repl(14, Today);
  78.         Normal := White + BlueBG;
  79.         Reverse := Black + LightGrayBG;
  80.         SetDBColor(Black, LightGray);
  81.         FlashFill(1, 1, 25, 80, Blue + BlackBG, #176);
  82.         Flash(2, 5, Black + LightGrayBG, 'Customer');
  83.         Flash(3, 5, Black + LightGrayBG, 'Database');
  84.         FlashC(2, White + RedBG, 'TPDB Version 3.34');
  85.         Flash(24, 50, Black + LightGrayBG, 'Press Esc Key When Finished.');
  86.         FlashC(4, White + GreenBG, 'Demonstration');
  87.         Str(Demo^.DBRecNum: 10, RecNo);
  88.         Message := 'Record Number: ' + RecNo;
  89.         Flash(2, 50, White + RedBG, Message);
  90.         Prompt(6, 10, 'Enter Customer Number: ');
  91.         Demo^.Say(1, 6, 33);
  92.         Prompt(8, 10, 'First Name: ');
  93.         Demo^.Say(2, 8, 22);
  94.         Prompt(10, 10, 'MI: ');
  95.         Demo^.Say(3, 10, 14);
  96.         Prompt(12, 10, 'Last Name: ');
  97.         Demo^.Say(4, 12, 21);
  98.         Prompt(14, 10, 'Address: ');
  99.         Demo^.Say(5, 14, 19);
  100.         Prompt(16, 10, 'City: ');
  101.         Demo^.Say(6, 16, 16);
  102.         Prompt(16, 52, 'State: ');
  103.         Demo^.Say(7, 16, 59);
  104.         Prompt(16, 63, 'ZIP Code: ');
  105.         Demo^.Say(8, 16, 73);
  106.         Prompt(18, 10, 'Order No.: ');
  107.         Demo^.Say(9, 18, 21);
  108.         Prompt(18, 35, 'Item: ');
  109.         Demo^.Say(10, 18, 41);
  110.         Prompt(20, 10, 'Cost: $');
  111.         Demo^.Say(11, 20, 17);
  112.         Prompt(20, 30, 'Sale Price: $');
  113.         Demo^.Say(12, 20, 43);
  114.         Prompt(20, 55, 'Profit: $');
  115.         Demo^.Say(13, 20, 64);
  116.         Prompt(22, 30, 'Sale Date: ');
  117.         Demo^.Say(14, 22, 41);
  118.         Prompt(24, 10, 'Transaction Completed ?: ');
  119.         Demo^.Say(15, 24, 35);
  120.  
  121.         BlockCursor;
  122.         SPos := 1;
  123.  
  124.         repeat
  125.             case SPos of
  126.                 1: Demo^.Get(1, 6, 33);
  127.                 2: Demo^.Get(2, 8, 22);
  128.                 3: Demo^.Get(3, 10, 14);
  129.                 4: Demo^.Get(4, 12, 21);
  130.                 5: Demo^.Get(5, 14, 19);
  131.                 6: Demo^.Get(6, 16, 16);
  132.                 7: Demo^.Get(7, 16, 59);
  133.                 8: Demo^.Get(8, 16, 73);
  134.                 9: Demo^.Get(9, 18, 21);
  135.                 10: Demo^.Get(10, 18, 41);
  136.                 11: Demo^.Get(11, 20, 17);
  137.                 12: Demo^.Get(12, 20, 43);
  138.                 13: begin
  139.                     Demo^.Repl(13, Demo^.Sub(12, 11));
  140.                     Demo^.Say(13, 20, 65);
  141.                 end;
  142.                 14: Demo^.Get(14, 22, 41);
  143.                 15: Demo^.Get(15, 24, 35);
  144.             end;
  145.             CheckScreen(SPos, BC, Up, Down, 1, 15);
  146.         until BC in Next;
  147.         Demo^.AddDBRec;
  148.         Demo^.AddDBKey(NameNdx, Demo^.Field(4));
  149.         Demo^.AddDBKey(CustNoNdx, Demo^.Field(1));
  150.         Flash(24, 50, Blue + BlackBG, Replicate(#176, 30));
  151.         Flash(24, 50, White + RedBG, 'Add another record ? ');
  152.         BC := GetBoolean(Continue, 'Y', 'N', 72, 24);
  153.     until BoolToStr(Continue, 'Y', 'N') = 'N';
  154.     Dispose(Demo, Done);
  155.     SetDBColor(White, Black);
  156.     CursorOn;
  157.     ClrScr;
  158. end.
  159.